require 'rubygems'
require 'iup'

class IupCboxTest
	def create_mat()
	  mat = Iup.Matrix() 
	 
	  mat.numcol = 1 
	  mat.numlin = 3 
	  mat.numcol_visible = 1 
	  mat.numlin_visible = 3 
	  mat.expand =  "NO"
	  mat.scrollbar =  "NO"
	
	  mat["0:0"] = "Inflation"
	  mat["1:0"] = "Medicine "
	  mat["2:0"] = "Food" 
	  mat["3:0"] = "Energy" 
	  mat["0:1"] = "January 2000" 
	  mat["1:1"] = 5.6
	  mat["2:1"] = 2.2
	  mat["3:1"] = 7.2
	
	  mat.bgcolor = "255 255 255"
	  mat["bgcolor1:0"] = "255 128 0"
	  mat["bgcolor2:1"] = "255 128 0"
	  mat["fgcolor2:0"] = "255 0 128"
	  mat["fgcolor1:1"] = "255 0 128"
	
	  mat.cx = 600
	  mat.cy = 250
	  return mat
	end
	
	def createtree()
	  tree = Iup.Tree(:attr=>"FONT=COURIER_NORMAL_10, "+
	                          "NAME=Figures, "+
	                          "ADDBRANCH=3D, "+
	                          "ADDBRANCH=2D, "+
	                          "ADDLEAF1=trapeze, "+
	                          "ADDBRANCH1=parallelogram, "+
	                          "ADDLEAF2=diamond, "+
	                          "ADDLEAF2=square, "+
	                          "ADDBRANCH4=triangle, "+
	                          "ADDLEAF5=scalenus, "+
	                          "ADDLEAF5=isoceles, "+
	                          "ADDLEAF5=equilateral, "+
	                          "RASTERSIZE=180x180, "+
	                          "VALUE=6, "+
	                          "CTRL=ON, "+
	                          "SHIFT=ON, "+
	                          "CX=600, "+
	                          "CY=10, "+
	                          "ADDEXPANDED=NO")
	  return tree
	end
	
	def func_1()
	  
		@img_bits1 = [
		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
		1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,
		1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,
		1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
		1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,
		1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,
		1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,
		1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,0,2,0,2,0,2,2,0,2,2,2,0,0,0,2,2,2,0,0,2,0,2,2,0,0,0,2,2,2,
		2,2,2,0,2,0,0,2,0,0,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,
		2,2,2,0,2,0,2,2,0,2,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,2,
		2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,0,2,2,2,0,2,0,0,0,0,0,2,2,
		2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,2,2,2,
		2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,
		2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,2,0,0,2,0,2,2,0,0,0,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,
		1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,
		1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,
		1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
		
		@img_bits2 = [
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,2,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,
		2,2,2,2,2,2,2,2,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		3,3,3,0,3,0,3,0,3,3,0,3,3,3,1,1,0,3,3,3,0,0,3,0,3,3,0,0,0,3,3,3,
		3,3,3,0,3,0,0,3,0,0,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3,
		3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,3,0,3,0,3,3,3,0,3,0,3,3,3,0,3,3,
		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
		3,3,3,0,3,0,3,3,0,3,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3,
		3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,0,0,3,3,0,0,3,0,3,3,0,0,0,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,0,3,3,3,0,3,3,3,3,3,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,0,0,0,3,3,3,3,3,3,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
		2,2,2,2,2,2,2,3,3,3,3,3,3,3,1,1,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,1,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
		3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
	  
		@img1 = Iup.Image(32,32, @img_bits1)
		@img1["0"] =  "0 0 0" 
		@img1["1"] =  "BGCOLOR"
		@img1["2"] =  "255 0 0"
		
		@img2 = Iup.Image(32,32, @img_bits2)
		@img2["0"] =  "0 0 0" 
		@img2["1"] =  "0 255 0"
		@img2["2"] =  "BGCOLOR"
		@img2["3"] =  "255 0 0"
		
		_frm_1 = Iup.Frame(
			Iup.Vbox([
			Iup.Button(:title=>"Button Text",:cindex=>"1"),
			Iup.Button(:title=>"",:image=>@img1,:cindex=>"2"),
			Iup.Button(:title=>"",:image=>@img1,:impress=>@img2,:cindex=>"3")
			]),:title=>"IupButton",:cx=>10,:cy=>180)
		
		_frm_2 = Iup.Frame(
			Iup.Vbox([
			Iup.Label(:title=>"Label Text",:cindex => 1),
			Iup.Label(:title=>"",:separator => 'HORIZONTAL',:cindex => 2),
			Iup.Label(:title=>"",:image => @img1,:cindex => 3)
			]),:title=>"IupLabel",:cx=>200,:cy=>250)
		
		_frm_3 = Iup.Frame(
			Iup.Vbox([
			Iup.Toggle(:title=>"Toggle Text", :value => 'ON',:cindex => 1),
			Iup.Toggle(:title=>"",:image => @img1,:impress => @img2,:cindex => 2),
			Iup.Frame(Iup.Radio(Iup.Vbox([
			Iup.Toggle(:title=>"Toggle Text",:cindex =>3),
			Iup.Toggle(:title=>"Toggle Text",:cindex =>4)
			])),:title => "IupRadio")
			]),:title=>"IupToggle",:cx=>400,:cy=>250)
		
		_text_1 = Iup.Text(:value=>"IupText Text",:size=>'80x',:cindex=>1,:cx=>10,:cy=>100)
		
		_ml_1 = Iup.MultiLine(:value=>"IupMultiline Text\nSecond Line\nThird Line",
				:size=>'80x60',:cindex=>1,:cx=>200,:cy=>100)
		
		_list_1 = Iup.List(:value=>1,:cindex=>1,:cx=>10,:cy=>10)
		_list_1["1"] = "Item 1 Text"
		_list_1["2"] = "Item 2 Text"
		_list_1["3"] = "Item 3 Text"
		
		_list_2 = Iup.List(:dropdown=>'YES',:value=>2,:cindex=>2,:cx=>200,:cy=>10)
		_list_2["1"] = "Item 1 Text"
		_list_2["2"] = "Item 2 Text"
		_list_2["3"] = "Item 3 Text"
		
		_list_3 = Iup.List(:editbox=>'YES',:value=>3,:cindex=>3,:cx=>400,:cy=>10)
		_list_3["1"] = "Item 1 Text"
		_list_3["2"] = "Item 2 Text"
		_list_3["3"] = "Item 3 Text"
		
		_cnv_1 = Iup.Canvas(:rastersize=>'100x100',:posx=>0.0,:posy=>0.0,
			:bgcolor=>'128 255 0',:cx=>400,:cy=>150)
		
		_ctrl_1 = Iup.Val(:cx=>600,:cy=>200)
		
		_cbox = Iup.Cbox([
		_text_1,
		_ml_1,
		_list_1,
		_list_2,
		_list_3,
		_cnv_1,
		_ctrl_1,
		createtree(),
		create_mat(),
		_frm_1,
		_frm_2,
		_frm_3
		],:size=>"480x200")
		
		hbox = Iup.Hbox([_cbox],:margin=>"10x10")
		
		@dlg = Iup.Dialog(hbox,:title=>"Cbox Test")
	end
	
	def initialize
		func_1()
		@dlg.ShowXY(Iup::CENTER,Iup::CENTER)
		Iup.MainLoop
		@img1.Destroy
		@img2.Destroy
		@dlg.Destroy	
	end
end  

test = IupCboxTest.new


